import java.util.Objects;

class Test {
    public void func1() {
        synchronized (this) {
            synchronized (this) {
                synchronized (this) {
                    synchronized (this) {

                    }
                }
            }
        }
    }

    public void func2() {
        synchronized (this) {
            System.out.println("func2");
        }
    }
}

public class Demo18 {
    public static void main(String[] args) {
        Object locker = new Object();
        Thread t1 = new Thread(() -> {
            synchronized (locker) {
                synchronized (locker) {
                    System.out.println("t1");
                }
            }
        });

        t1.start();
    }
}
